package main;

import gui.MainPage;

import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JOptionPane;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import utils.socket.ClientKeepAliveSocket;
import business.Centro_de_Mensajes;
import business.Configuracion;


public class MainChacra {

	private Centro_de_Mensajes centro = null;
	private ClientKeepAliveSocket ka_sock   = null;

	
	
	public MainChacra() {
		Configuracion.cargar();
		centro = new Centro_de_Mensajes();
		Socket s = null;
		
		try {
		
			s = new Socket(Configuracion.getIp(), Configuracion.getPuerto());
			ka_sock = new ClientKeepAliveSocket(s);
			ka_sock.addListener(centro);
		
		} catch (UnknownHostException e) {
			// e.printStackTrace();
			JOptionPane.showMessageDialog(null, "Error: No se pudo contactar al CAP. " +
										 "Intente de nuevo en unos minutos");
		} catch (IOException e) {
			// e.printStackTrace();
			JOptionPane.showMessageDialog(null, "Error: Hubo un problema en la conexion. " +
					 					 "Intente de nuevo en unos minutos");
		}
		
	}

//	private class InterfazGrafica implements Runnable {
//		public void run() {
//			
//			try {
//				UIManager.setLookAndFeel(new SubstanceBusinessBlueSteelLookAndFeel());
//			} catch (Exception e) {
//				System.out.println("Substance Graphite failed to initialize");
//			}
//			
//			Ventana_Ppal vp = new Ventana_Ppal(centro, ka_sock);
//			vp.setVisible(true);
//		}
//	}

	public static void main(String[] args) {

		MainChacra main_chacra = new MainChacra();
//
//		// Interfaz grafica
//		SwingUtilities.invokeLater(main_chacra.new InterfazGrafica());
		
        Display display = new Display();

    	new MainPage(display);
        display.dispose();
    		
	}
}
